package com.m.imagelookviewlib;

import java.math.BigDecimal;

/**
 * float 数据计算
 */
public class FloatMathCalc {

    public float floatcalc(int type, float... f) {
        BigDecimal valbigdec = new BigDecimal(f[0]);
        for (int i = 1; i < f.length; i++) {
            float v = f[i];
            BigDecimal bigDecimal = new BigDecimal(v);
            switch (type) {
                case 1:
                    valbigdec = valbigdec.add(bigDecimal);
                    break;
                case 2:
                    valbigdec = valbigdec.subtract(bigDecimal);
                    break;
                case 3:
                    valbigdec = valbigdec.multiply(bigDecimal);
                    break;
                case 4:
                    valbigdec = valbigdec.divide(bigDecimal);
                    break;
            }
        }
        return valbigdec.floatValue();
    }


    // 进行加法运算
    public float add(float... f) {
        BigDecimal valbigdec = new BigDecimal(f[0]);
        for (int i = 1; i < f.length; i++) {
            float v = f[i];
            BigDecimal bigDecimal = new BigDecimal(v);
            valbigdec.add(bigDecimal);
        }
        return valbigdec.floatValue();
    }

    // 进行减法运算
    public float subtract(float... f) {
        BigDecimal valbigdec = new BigDecimal(f[0]);
        for (int i = 1; i < f.length; i++) {
            float v = f[i];
            BigDecimal bigDecimal = new BigDecimal(v);
            valbigdec.subtract(bigDecimal);
        }
        return valbigdec.floatValue();
    }

    // 进行乘法运算
    public float mul(float... f) {
        BigDecimal valbigdec = new BigDecimal(f[0]);
        for (int i = 1; i < f.length; i++) {
            float v = f[i];
            BigDecimal bigDecimal = new BigDecimal(v);
            valbigdec.multiply(bigDecimal);
        }
        return valbigdec.floatValue();
    }

    // 进行除法运算
    public float divide(float... f) {
        BigDecimal valbigdec = new BigDecimal(f[0]);
        for (int i = 1; i < f.length; i++) {
            float v = f[i];
            BigDecimal bigDecimal = new BigDecimal(v);
            valbigdec.divide(bigDecimal);
        }
        return valbigdec.floatValue();
    }

}
